HTML Tidy Configuration Options

HTML, XHTML, XML
Diagnostics
Pretty Print
Character Encoding
Miscellaneous

HTML, XHTML, XML Options Top
Option Type Default
add-xml-decl Boolean no
add-xml-pi Boolean no
add-xml-space Boolean no
alt-text String
assume-xml-procins Boolean no
bare Boolean no
break-before-br Boolean no
clean Boolean no
doctype DocType auto
drop-empty-paras Boolean yes
drop-font-tags Boolean no
drop-proprietary-attributes Boolean no
enclose-block-text Boolean no
enclose-text Boolean no
escape-cdata Boolean no
fix-bad-comments Boolean yes
fix-uri Boolean yes
hide-comments Boolean no
hide-endtags Boolean no
indent-cdata Boolean no
input-xml Boolean no
join-classes Boolean no
join-styles Boolean yes
logical-emphasis Boolean no
lower-literals Boolean yes
ncr Boolean yes
new-blocklevel-tags Tag names
new-empty-tags Tag names
new-inline-tags Tag names
new-pre-tags Tag names
numeric-entities Boolean no
output-xhtml Boolean no
output-xml Boolean no
quote-ampersand Boolean yes
quote-marks Boolean no
quote-nbsp Boolean yes
repeated-attributes - keep-last
replace-color Boolean no
show-body-only Boolean no
slide-style Name
split Boolean no
uppercase-attributes Boolean no
uppercase-tags Boolean no
word-2000 Boolean no

Diagnostics Options Top
Option Type Default
error-file String
force-output Boolean no
gnu-emacs Boolean no
quiet Boolean no
show-errors Integer 6
show-warnings Boolean yes
tidy-mark Boolean yes

Pretty Print Options Top
Option Type Default
indent AutoBool no
indent-attributes Boolean no
indent-spaces Integer 2
literal-attributes Boolean no
markup Boolean yes
tab-size Integer 4
wrap Integer 68
wrap-asp Boolean yes
wrap-attributes Boolean no
wrap-jste Boolean yes
wrap-php Boolean yes
wrap-script-literals Boolean no
wrap-sections Boolean yes

Character Encoding Options Top
Option Type Default
ascii-chars Boolean yes
char-encoding Encoding ascii
input-encoding Encoding latin1
language Language
output-bom AutoBool auto
output-encoding Encoding ascii
raw Boolean no

Miscellaneous Options Top
Option Type Default
fix-backslash Boolean yes
keep-time Boolean yes
write-back Boolean no



HTML, XHTML, XML Options Reference

add-xml-decl
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should add the XML declaration when outputting XML or XHTML. Note that if the input already includes an <?xml ... ?> declaration then this option will be ignored.

add-xml-pi
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option is the same as the add-xml-decl option.

add-xml-space
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should add xml:space="preserve" to elements such as <PRE>, <STYLE> and <SCRIPT> when generating XML. This is needed if the whitespace in such elements is to be parsed appropriately without having access to the DTD.

alt-text
Type: String
Default: -none-
This option specifies the default "alt=" text Tidy uses for <IMG> attributes. This feature is dangerous as it suppresses further accessibility warnings. You are responsible for making your documents accessible to people who can not see the images!

assume-xml-procins
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should change the parsing of processing instructions to require ?> as the terminator rather than >. This option is automatically set if the input is in XML.

bare
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should strip Microsoft specific HTML from Word 2000 documents, and output spaces rather than non-breaking spaces where they exist in the input.

break-before-br
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output a line break before each <BR> element.

clean
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should strip out surplus presentational tags and attributes replacing them by style rules and structural markup as appropriate. It works well on the HTML saved by Microsoft Office products.

doctype
Type: DocType
Default: auto
Example: auto, omit, strict, loose, transitional, user specified fpi (string)
This option specifies the DOCTYPE declaration generated by Tidy. If set to "omit" the output won't contain a DOCTYPE declaration. If set to "auto" (the default) Tidy will use an educated guess based upon the contents of the document. If set to "strict", Tidy will set the DOCTYPE to the strict DTD. If set to "loose", the DOCTYPE is set to the loose (transitional) DTD. Alternatively, you can supply a string for the formal public identifier (FPI). For example: doctype: "-//ACME//DTD HTML 3.14159//EN" If you specify the FPI for an XHTML document, Tidy will set the system identifier to the empty string. Tidy leaves the DOCTYPE for generic XML documents unchanged.

drop-empty-paras
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should discard empty paragraphs. If set to no, empty paragraphs are replaced by a pair of <BR> elements as HTML4 precludes empty paragraphs.

drop-font-tags
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should discard <FONT> and <CENTER> tags rather than creating the corresponding style rules, but only if the clean option is also set to yes.

drop-proprietary-attributes
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should strip out proprietary attributes, such as MS data binding attributes.

enclose-block-text
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should insert a <P> element to enclose any text it finds in any element that allows mixed content for HTML transitional but not HTML strict.

enclose-text
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should enclose any text it finds in the body element within a <P> element. This is useful when you want to take existing HTML and use it with a style sheet.

escape-cdata
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should convert <![CDATA[]]> sections to normal text.

fix-bad-comments
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should replace unexpected hyphens with "=" characters when it comes across adjacent hyphens. The default is yes. This option is provided for users of Cold Fusion which uses the comment syntax: <!--- --->

fix-uri
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should check attribute values that carry URIsfor illegal characters and if such are found, escape them as HTML 4 recommends.

hide-comments
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should print out comments.

hide-endtags
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should omit optional end-tags when generating the pretty printed markup. This option is ignored if you are outputting to XML.

indent-cdata
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should indent <![CDATA[]]> sections.

input-xml
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should use the XML parser rather than the error correcting HTML parser.

join-classes
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
join-styles
repeated-attributes
This option specifies if Tidy should combine class names to generate a single new class name, if multiple class assignments are detected on an element.

join-styles
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
join-classes
repeated-attributes
This option specifies if Tidy should combine styles to generate a single new style, if multiple style values are detected on an element.

logical-emphasis
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should replace any occurrence of <I> by <EM> and any occurrence of <B> by <STRONG>. In both cases, the attributes are preserved unchanged. This option can be set independently of the clean and drop-font-tags options.

lower-literals
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should convert the value of an attribute that takes a list of predefined values to lower case. This is required for XHTML documents.

ncr
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should allow numeric character references.

new-blocklevel-tags
Type: Tag names
Default: -none-
Example: tagX, tagY, ...
This option specifies new block-level tags. This option takes a space or comma separated list of tag names. Unless you declare new tags, Tidy will refuse to generate a tidied file if the input includes previously unknown tags. Note you can't change the content model for elements such as <TABLE>, <UL>, <OL> and <DL>.

new-empty-tags
Type: Tag names
Default: -none-
Example: tagX, tagY, ...
new-blocklevel-tags
new-inline-tags
This option specifies new empty inline tags. This option takes a space or comma separated list of tag names. Unless you declare new tags, Tidy will refuse to generate a tidied file if the input includes previously unknown tags. Remember to also declare empty tags as either inline or blocklevel.

new-inline-tags
Type: Tag names
Default: -none-
Example: tagX, tagY, ...
This option specifies new non-empty inline tags. This option takes a space or comma separated list of tag names. Unless you declare new tags, Tidy will refuse to generate a tidied file if the input includes previously unknown tags.

new-pre-tags
Type: Tag names
Default: -none-
Example: tagX, tagY, ...
This option specifies new tags that are to be processed in exactly the same way as HTML's <PRE> element. This option takes a space or comma separated list of tag names. Unless you declare new tags, Tidy will refuse to generate a tidied file if the input includes previously unknown tags. Note you can not as yet add new CDATA elements (similar to <SCRIPT>).

numeric-entities
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output entities other than the built-in HTML entities (&amp;, &lt;, &gt; and &quot;) in the numeric rather than the named entity form.

output-xhtml
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should generate pretty printed output, writing it as extensible HTML. This option causes Tidy to set the DOCTYPE and default namespace as appropriate to XHTML. If a DOCTYPE or namespace is given they will checked for consistency with the content of the document. In the case of an inconsistency, the corrected values will appear in the output. For XHTML, entities can be written as named or numeric entities according to the setting of the "numeric-entities" option. The original case of tags and attributes will be preserved, regardless of other options.

output-xml
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should pretty print output, writing it as well-formed XML. Any entities not defined in XML 1.0 will be written as numeric entities to allow them to be parsed by a XML parser. The original case of tags and attributes will be preserved, regardless of other options.

quote-ampersand
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output unadorned & characters as &amp;.

quote-marks
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output " characters as &quot; as is preferred by some editing environments. The apostrophe character ' is written out as &#39; since many web browsers don't yet support &apos;.

quote-nbsp
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output non-breaking space characters as entities, rather than as the Unicode character value 160 (decimal).

repeated-attributes
Type: -
Default: keep-last
Example: keep-first, keep-last
join-classes
join-styles
This option specifies if Tidy should keep the first or last attribute, if an attribute is repeated, e.g. has two align attributes.

replace-color
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should replace numeric values in color attributes by HTML/XHTML color names where defined, e.g. replace "#ffffff" with "white".

show-body-only
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should print only the contents of the body tag as an HTML fragment. Useful for incorporating existing whole pages as a portion of another page.

slide-style
Type: Name
Default: -none-
split
Currently not used.

split
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should create a sequence of slides from the input, splitting the markup prior to each successive <H2>. The slides are written to "slide001.html", "slide002.html" etc.

uppercase-attributes
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output attribute names in upper case. The default is no, which results in lower case attribute names, except for XML input, where the original case is preserved.

uppercase-tags
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output tag names in upper case. The default is no, which results in lower case tag names, except for XML input, where the original case is preserved.

word-2000
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should go to great pains to strip out all the surplus stuff Microsoft Word 2000 inserts when you save Word documents as "Web pages". Doesn't handle embedded images or VML.


Diagnostics Options Reference

error-file
Type: String
Default: -none-
This option specifies the error file Tidy uses for errors and warnings. Normally errors and warnings are output to "stderr".

force-output
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should produce output even if errors are encountered. Use this option with care - if Tidy reports an error, this means Tidy was not able to, or is not sure how to, fix the error, so the resulting output may not reflect your intention.

gnu-emacs
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should change the format for reporting errors and warnings to a format that is more easily parsed by GNU Emacs.

quiet
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should output the summary of the numbers of errors and warnings, or the welcome or informational messages.

show-errors
Type: Integer
Default: 6
Example: 0, 1, 2, ...
This option specifies the number Tidy uses to determine if further errors should be shown. If set to 0, then no errors are shown.

show-warnings
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should suppress warnings. This can be useful when a few errors are hidden in a flurry of warnings.

tidy-mark
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should add a meta element to the document head to indicate that the document has been tidied. Tidy won't add a meta element if one is already present.


Pretty Print Options Reference

indent
Type: AutoBool
Default: no
Example: auto, y/n, yes/no, t/f, true/false, 1/0
indent-spaces
This option specifies if Tidy should indent block-level tags. If set to "auto", this option causes Tidy to decide whether or not to indent the content of tags such as TITLE, H1-H6, LI, TD, TD, or P depending on whether or not the content includes a block-level element. You are advised to avoid setting indent to yes as this can expose layout bugs in some browsers.

indent-attributes
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should begin each attribute on a new line.

indent-spaces
Type: Integer
Default: 2
Example: 0, 1, 2, ...
indent
This option specifies the number of spaces Tidy uses to indent content, when indentation is enabled.

literal-attributes
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should ensure that whitespace characters within attribute values are passed through unchanged.

markup
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should generate a pretty printed version of the markup. Note that Tidy won't generate a pretty printed version if it finds significant errors (see force-output).

tab-size
Type: Integer
Default: 4
Example: 0, 1, 2, ...
This option specifies the number of columns that Tidy uses between successive tab stops. It is used to map tabs to spaces when reading the input. Tidy never outputs tabs.

wrap
Type: Integer
Default: 68
Example: 0 (no wrapping), 1, 2, ...
This option specifies the right margin Tidy uses for line wrapping. Tidy tries to wrap lines so that they do not exceed this length. Set wrap to zero if you want to disable line wrapping.

wrap-asp
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should line wrap text contained within ASP pseudo elements, which look like: <% ... %>.

wrap-attributes
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
wrap-script-literals
This option specifies if Tidy should line wrap attribute values, for easier editing. This option can be set independently of wrap-script-literals.

wrap-jste
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should line wrap text contained within JSTE pseudo elements, which look like: <# ... #>.

wrap-php
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should line wrap text contained within PHP pseudo elements, which look like: <?php ... ?>.

wrap-script-literals
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
wrap-attributes
This option specifies if Tidy should line wrap string literals that appear in script attributes. Tidy wraps long script string literals by inserting a backslash character before the line break.

wrap-sections
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should line wrap text contained within <![ ... ]> section tags.


Character Encoding Options Reference

ascii-chars
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
char-encoding
Can be used to modify behavior of -c (--clean yes) option. Defaults to "yes" when using -c. Set to "no" to prevent converting >emdash;, &rdquo;, and other named character entities to their ascii equivalents.

char-encoding
Type: Encoding
Default: ascii
Example: ascii, latin1, raw, utf8, iso2022, mac, win1252
input-encoding
output-encoding
This option specifies the character encoding Tidy uses for both the input and output. For ascii, Tidy will accept Latin-1 (ISO-8859-1) character values, but will use entities for all characters whose value > 127. For raw, Tidy will output values above 127 without translating them into entities. For latin1, characters above 255 will be written as entities. For utf8, Tidy assumes that both input and output is encoded as UTF-8. You can use iso2022 for files encoded using the ISO-2022 family of encodings e.g. ISO-2022-JP. For mac and win1252, Tidy will accept vendor specific character values, but will use entities for all characters whose value > 127.

input-encoding
Type: Encoding
Default: latin1
Example: ascii, latin1, raw, utf8, iso2022, mac, win1252
char-encoding
This option specifies the character encoding Tidy uses for the input. See char-encoding for more info.

language
Type: Language
Default: -none-
Example: en
Currently not used, but this option specifies the language Tidy uses.

output-bom
Type: AutoBool
Default: auto
Example: auto, y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should write a Unicode Byte Order Mark character (BOM; also known as Zero Width No-Break Space; has value of U+FEFF) to the beginning of the output; only for UTF-8 and UTF-16 output encodings. If set to "auto", this option causes Tidy to write a BOM to the output only if a BOM was present at the beginning of the input. A BOM is always written for XML/XHTML output using UTF-16 output encodings.

output-encoding
Type: Encoding
Default: ascii
Example: ascii, latin1, raw, utf8, iso2022, mac, win1252
char-encoding
This option specifies the character encoding Tidy uses for the output. See char-encoding for more info. May only be different from input-encoding for Latin encodings (ascii, latin1, mac, win1252).

raw
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
char-encoding
Currently not used, but this option would be the same as the char-encoding: raw option.


Miscellaneous Options Reference

fix-backslash
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should replace backslash characters "\" in URLs by forward slashes "/".

keep-time
Type: Boolean
Default: yes
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should alter the last modified time for files it writes back to. The default is no, which allows you to tidy files without affecting which ones will be uploaded to a Web server when using a tool such as 'SiteCopy'. Note that this feature may not work on some platforms.

write-back
Type: Boolean
Default: no
Example: y/n, yes/no, t/f, true/false, 1/0
This option specifies if Tidy should write back the tidied markup to the same file it read from. You are advised to keep copies of important files before tidying them, as on rare occasions the result may not be what you expect.